package com.example.mysql.学习笔记.基础.触发器;

public class 优缺点 {
}
/**
 * 触发器的优缺点
 *
 * ###  优点
 *
 * **1、触发器可以确保数据的完整性**。
 *
 * **2、触发器可以帮助我们记录操作日志。**
 *
 * **3、触发器还可以用在操作数据前，对数据进行合法性检查。**
 *
 * ###  缺点
 *
 * **1、触发器最大的一个问题就是可读性差。**
 *
 * 因为触发器存储在数据库中，并且由事件驱动，这就意味着触发器有可能`不受应用层的控制`。
 * 这对系统维护是非常有挑战的。
 *
 * 这是因为，触发器中的数据插入操作多了一个字段，系统提示错误。
 * 可是，如果你不了解这个触发器，很可能会认为是更新语句本身的问题，
 * 或者是会员信息表的结构出了问题。
 * 说不定你还会给会员信息表添加一个叫“aa”的字段，试图解决这个问题，结果只能是白费力。
 *
 * **2、相关数据的变更，可能会导致触发器出错。**
 *
 * 特别是数据表结构的变更，都可能会导致触发器出错，进而影响数据操作的正常运行。这
 * 些都会由于触发器本身的隐蔽性，影响到应用中错误原因排查的效率。
 *
 * ###  注意点  外键约束不会触发触发器
 *
 * 注意，如果在子表中定义了外键约束，并且外键指定了ON UPDATE/DELETE CASCADE/SET NULL子句，
 * 此时修改父表被引用的键值或删除父表被引用的记录行时，也会引起子表的修改和删除操作，
 * 此时基于子表的UPDATE和DELETE语句定义的触发器并不会被激活。
 *
 *
 */
